/*
 * @Author: guandeshen 295570679@qq.com
 * @Date: 2024-05-19 12:24:05
 * @LastEditors: guandeshen 295570679@qq.com
 * @LastEditTime: 2024-09-02 11:06:01
 * @FilePath: /task-admin/src/api/project/model.ts
 * @Description:
 *
 * Copyright (c) 2024 by ${git_name_email}, All Rights Reserved.
 */
/**
 * 项目列表
 */
export interface ProjectList {
  id: string;
  p_name?: string;
  p_no?: string;
  p_manager?: string;
  p_contact?: string;
  start_d?: string;
  end_d?: string;
  contract_t?: string;
  status?: number;
  estimated_amount?: string;
  actual_amount?: string;
  create_time?: string;
  status_text?: string;
  schedule?: number;
}
/**
 * 查询对象类型
 */
export interface ProjectQuery extends PageQuery {
  keyword?: string;
  status?: number;
}

/**
 * 基本信息
 */
export interface BaseInfo {
  id?: string;
  p_name?: string;
  p_no?: string;
  p_manager?: string;
  p_manager_id?: string;
  p_contact?: string;
  start_d?: string;
  end_d?: string;
  contract_t?: string;
  status?: number;
  estimated_amount?: string;
  actual_amount?: string;
  remark?: string;
  docking_person?: string;
  docking_phone?: string;
  schedule?: number;
  status_text?: string;
}

/**
 * 工地信息
 */
export interface SiteInfo {
  id?: string;
  ref?: string;
  s_name?: string;
  s_address?: string;
  s_postalcode?: string;
  start_d?: string;
  end_d?: string;
  status?: number;
}

/**
 * 清单
 */
export interface PTaskList {
  id?: string;
  task_name?: string;
  task_actual_amount?: number;
  end_d?: string;
}

export interface PWBSList {
  id?: string;
  wbs_name?: string;
  start_d?: string;
  end_d?: string;
  created?: string;
  create_time?: string;
  task_list?: PTaskList[];
  wbs_estimated_amount?: number;
  wbs_actual_amount?: number;
}

export interface BudgetInfo {
  estimated_amount?: number;
  actual_amount?: number;
  remaining_amount?: number;
  list?: PWBSList[];
}

/**
 * 项目表单对象类型
 */
export interface ProjectForm {
  base_info: BaseInfo;
  site_info?: SiteInfo[];
  system_info?: SystemForm;
  budget_info?: BudgetInfo;
}

export interface detailQuery {
  id: string;
}

export interface ToolDelForm {
  wbs_id: string;
  wbs_goods_id: string;
}
export interface UserDelForm {
  wbs_id: string;
  wbs_user_id: string;
}
export interface ExportForm {
  id: string;
}
